package com.ophiux.cs.infrastructure.mapper.appraise;

import java.util.List;

import com.ophiux.cs.domain.appraise.model.entity.CsUserAppraises;
import com.ophiux.cs.domain.appraise.model.valueobj.DoctorAppraiseDetailObj;
import com.ophiux.cs.domain.appraise.model.valueobj.DoctorAppraiseQueryObj;
import com.ophiux.cs.domain.appraise.model.valueobj.DoctorAppraiseValueObj;
import com.ophiux.utils.exception.OphiuxDaoException;

public interface AppraiseMapper {
	
	void insert(CsUserAppraises obj);

	void update(CsUserAppraises obj);

	/**
	 * 根据唯一标识，查询记录
	 * @param appraiseId
	 * @return
	 */
	CsUserAppraises getAppraiseByAppraiseId(String appraiseId);
	
	 /**
     * 查询医生评价汇总
	 * @param dar
     * @return
     * @throws OphiuxDaoException
	 */
	public List<DoctorAppraiseValueObj> getCSDoctorAppraiseMaster(DoctorAppraiseQueryObj dar) throws OphiuxDaoException;

	/**
	 * 查询医生评价详情
	 * @param dar
	 * @return
	 * @throws OphiuxDaoException
	 */
	public List<DoctorAppraiseDetailObj> getCSDoctorAppraiseDetails(DoctorAppraiseQueryObj dar) throws OphiuxDaoException;
}
